hpitch = 0.1 pinCount = 10 nameTemplate = "G*C{0:02d}SABN-M30" cmdTemplate = "SMD {0:f} {1:f} '{2:s}' ({3:f} {4:f});" cmd1Template = "WIRE .008 ({0:f} {1:f}) ({2:f} {3:f}) ({0:f} {1:f}) ;" myCMDs=[] padW=.05 padH=.25 yPrime = padH/2-.025 yAlt = -yPrime for p in range(2,20+1): myCMDs.append("remove '"+nameTemplate.format(p)+".pac'") myCMDs.append("EDIT '"+nameTemplate.format(p)+".pac'") myCMDs.append("GRID 0.05 inch;") x=0 for i in range(1,p+1): if i%2==1: y=yPrime else: y=yAlt myCMDs.append(cmdTemplate.format(padW,padH,str(i),x,y)) x+=hpitch myCMDs.append("LAYER tDocu;") myCMDs.append("Set Wire_Bend 0;") myCMDs.append(cmd1Template.format(-.05,0.05,(p)*.1-0.05,-0.05)) myCMDs.append("Set Wire_Bend 4;") myCMDs.append(cmd1Template.format(-.05,0.05,(p)*.1-0.05,-0.05)) myCMDs.append("write") with open("test.scr","wt") as f: for x in myCMDs: f.write(x+"\r\n")